package com.edu.service;

import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.edu.common.response.PageResult;
import com.edu.mapper.CoutseMapper;
import com.edu.pojo.EduCourse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.client.RestTemplate;

import java.util.*;

@Service
public class CourseService {
    @Autowired
    private CoutseMapper courseMapper;

    public PageResult<EduCourse> findData(int page, int size, Map searchMap) {
        QueryWrapper<EduCourse> queryWrapper = new QueryWrapper<>();
        if (searchMap.get("courseName")!=null && !"".equals(searchMap.get("courseName"))){
            queryWrapper.lambda().like(EduCourse::getCourseName,searchMap.get("courseName"));
        }
        Page<EduCourse> brandPage = courseMapper.selectPage(new Page<>(page, size), queryWrapper);
        return new PageResult(brandPage.getTotal(),brandPage.getRecords());
    }

//
//    public Goods findById(Long id) {
//        return goodsMapper.selectById(id);
//    }
//
//    @Transactional
//    public void add(GoodsExt goodsExt) {
//        Goods goods = goodsExt.getGoods();
//        if (goods!=null){
//            goodsMapper.insert(goods);
//        }
//        GoodsDesc goodsDesc = goodsExt.getGoodsDesc();
//        if (goodsDesc!=null){
//            goodsDesc.setGoodsId(goods.getId());//一对一关联，主键关联
//            goodsDescMapper.insert(goodsDesc);
//        }
//        Brand brand = brandMapper.selectById(goods.getBrandId());
//        ItemCat itemCat = itemCatMapper.selectById(goods.getCategory3Id());
//        String itemImages = goodsDesc.getItemImages();
//        /*[{"color":"测试3","url":"http://localhost:9102/image/药瓶.jpg"},
//        {"color":"测试3","url":"http://localhost:9102/image/m1.jpg"}]*/
//        List<Map> itemImages_list = JSON.parseArray(itemImages,Map.class);
//        String imges_file_url="";
//        if (itemImages_list.size()>0){
//            Map<String, String> map = itemImages_list.get(0);
//            imges_file_url = map.get("url");
//        }
//        List<Item> itemList = goodsExt.getItemList();
//
//        String finalImges_file_url = imges_file_url;
//        itemList.forEach(item->{
//            item.setGoodsId(goods.getId());
//            String title = "";
//            String spec = item.getSpec();
//            Map<String ,String > spec_map = JSON.parseObject(spec, Map.class);
//            Set set = spec_map.keySet();
//            for(String specName : spec_map.keySet()){
//                title = goods.getGoodsName()+specName+spec_map.get(specName);
//            }
//            item.setTitle(title);
//            if (brand!=null){
//                item.setBrand(brand.getName());
//            }
//            item.setCategoryId(goods.getCategory3Id());
//
//            if (itemCat!=null){
//                item.setCategory(itemCat.getName());
//            }
//            item.setImage(finalImges_file_url);
//            item.setCreateTime(new Date());
//            item.setUpdateTime(new Date());
//            item.setTitle(goods.getGoodsName());
//            item.setSellerId(goods.getSellerId());
//
//            Seller seller = sellerFeign.findById(goods.getSellerId());
//            item.setSeller(seller.getName());
//            itemMapper.insert(item);
//        });
//
//
//    }
//    @Transactional
//    public void update(GoodsExt goodsExt) {
//        Goods goods = goodsExt.getGoods();
//        goodsMapper.updateById(goods);
//        GoodsDesc goodsDesc = goodsExt.getGoodsDesc();
//        goodsDescMapper.updateById(goodsDesc);
//        UpdateWrapper<Item> uw = new UpdateWrapper<>();
//        uw.lambda().eq(Item::getGoodsId,goods.getId());
//        goodsExt.getItemList().forEach(obj->{
//            itemMapper.update(obj,uw);
//        });
//    }
//
//    public void isDelete(Long id) {
//        goodsMapper.deleteById(id);
//        List<Item> skuList=findItemListByGoodsIdandStatus(id,"1");
//        List<Long> ids=new ArrayList<>();
//        skuList.forEach(sku->{
//            ids.add(sku.getId());
//        });
////        deleteSkuList
//    }
//
//    public GoodsExt findOne(Long id) {
//        GoodsExt goodsExt = new GoodsExt();
//        QueryWrapper<Item> qw = new QueryWrapper<>();
//        qw.lambda().eq(Item::getGoodsId,id);
//        Goods goods = goodsMapper.selectById(id);
//        goodsExt.setGoods(goods);
//
//        goodsExt.setGoodsDesc(goodsDescMapper.selectById(id));
//        goodsExt.setItemList(itemMapper.selectList(qw));
//        return goodsExt;
//    }
//
//    public void putAudit_status(Long id, String auditStatus) {
//
//        QueryWrapper<Goods> qw = new QueryWrapper<>();
//        qw.lambda().eq(Goods::getId , id);
//        Goods goods = new Goods();
//        goods.setAuditStatus(auditStatus);
//        goodsMapper.update(goods,qw);
//        //调用导入ES接口
//        List<Item> skuList=findItemListByGoodsIdandStatus(id,"1");
//        //importSkuList
//        Map<String, Object> map = new HashMap<>();
//        map.put("id",id);
//        map.put("skuList",skuList);
//        rabbitTemplate.convertAndSend(RabbitMqConfing.EXCHANGE_AUDIT_PASS,"",map);
//    }
//    private List<Item> findItemListByGoodsIdandStatus(Long goodsId,String status){
//        QueryWrapper<Item> queryWrapper = new QueryWrapper<>();
//        queryWrapper.lambda().eq(Item::getGoodsId,goodsId);
//        queryWrapper.lambda().eq(Item::getStatus,"1");
//        return itemMapper.selectList(queryWrapper);
//    }


}
